iOS SDK Weex 框架支持

本指南将会为您介绍如何在Weex中使用iOS SDK的功能。

最新版本为:1.0.0

更新时间为:2018-09-11

1. 集成iOS SDK与Weex支持文件

(1) 集成iOS SDK请参见iOS SDK 使用指南

(2) 完成iOS SDK的集成后,请点此下载Weex支持文件,解压后将WeexThinkingDataAnalyticsModule.hWeexThinkingDataAnalyticsModule.m文件添加到您的项目工程中

(3) 在 AppDelegate.m 中添加在 AppDelegate.m 中添加

#import "WeexThinkingDataAnalyticsModule.h"

然后在 application:didFinishLaunchingWithOptions:方法中,在iOS SDK与Weex初始化的代码之后,添加Weex支持插件的初始化代码


-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 初始化 iOS SDK
    [ThinkingAnalyticsSDK startWithAppId:@"APP_ID"
                                   withUrl:@"SERVER_URL"];
    // 初始化 weex
    [WeexSDKManager setup];                               
    // 初始化 Weex 支持插件
    [WXSDKEngine registerModule:@"WeexThinkingDataAnalyticsModule" withClass:[WeexThinkingDataAnalyticsModule class]];
    return YES;
}

2. 在JS文件中获取模块

请在具体使用的JS文件中加入以下代码:

var tamodal = weex.requireModule('WeexThinkingDataAnalyticsModule');

3. 在Weex中使用SDK功能

在完成导入后,即可使用SDK功能,需要注意的是,Weex支持模块只是将iOS SDK的接口进行封装,传输数据仍由iOS SDK的实例完成的,因此在iOS SDK与Weex传输的数据,将会共用访客ID、账号ID以及事件公共属性。

现阶段支持SDK中的接口如下:

1) 设置账号ID

在用户进行登录时,可调用login来设置用户的账号ID,在设置完账号ID后,将会以账号ID作为身份识别ID,并且设置的账号ID将会在调用logout之前一直保留:

tamodal.login("rn_textlogin");

login可以多次调用,每次调用会判断传入的账号ID与先前保存的ID是否一致,一致则忽略调用,不一致则会覆盖先前的ID。

如果您在iOS SDK调用了login接口设置了账号ID,则Weex中的调用将会覆盖先前设置的账号ID,同样iOS SDK后续的login调用也会覆盖Weex设置的账号ID

请注意,该方法不会上传用户登录的事件

2) 清除账号ID

在用户产生登出行为之后,可调用logout来清除账号ID,在下次调用login之前,将会以访客ID作为身份识别ID:

tamodal.logout();
在Weex中的调用logout也将清除iOS SDK中的账号ID,同样iOS SDK调用logout也会清除Weex中的账号ID

我们推荐您在显性的登出事件时调用logout,比如用户产生了注销账号这一行为时才调用,而不需要在关闭App时调用。

3) 发送事件

您可以调用track来上传事件,本接口将会调用SDK中的track接口,详细的使用说明请参考SDK文档中的track接口的介绍:

tamodal.track("rn_texttrack", { "propKey": 1, "propKey2": "name" });

第一个参数为该事件的事件名,第二个参数为该事件的所有属性,key值为属性名,value值为属性值

4) 记录事件时长

您可以调用trackTimerBegin来开始计时,配置您想要计时的事件名称,当您上传该事件时,将会自动在您的事件属性中加入#duration这一属性来表示记录的时长,单位为秒。

tamodal.trackTimerBegin("rn_texttrack");

传入的参数即为需要记录时间的事件的事件名,当该事件被触发时,计时将会停止,并且#duration这一计时属性将会被记录在事件中

在Weex中设置的计时可记录iOS SDK上传的对应事件,同样iOS SDK设置的计时可记录Weex中上传的对应事件

results matching ""

    No results matching ""